home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / c128 / utilities / svnt128b.sfx / Call exrom < prev    next >
Encoding:
Text File  |  1992-10-05  |  2.0 KB  |  11 lines

  1. CALL EXROM (.)
  2.  
  3. A rather obscure feature this one, but it will let you enable an external ROM cartridge of your own design from the SERVANT menu.  Due to the 128's design, most commercial produced cartridges will suppress THE SERVANT entirely.  To use this feature, you'll probably have to design your own cartridge.  The QUICK BROWN BOX is ideal for this purpose.  It contains battery backed RAM, but acts much like a ROM cartridge because it retains its contents without power applied.  You'll have to know ML programming to do it in any case but a ML course goes beyond the scope of this manual.  If you have the QBB, your manual will describe briefly how to make a cartridge work.  Also, function ROM cartridges is briefly described in the 128 Programmers Reference Manual.
  4.  
  5. Call Exrom will search for the presence of a function ROM in all banks, cycling from 0 to 15.  However, it won't check the bank configurations where THE SERVANT itself is currently visible, so it won't inadvertently call itself.  These is a quirk here:  If THE SERVANT is working in computer RAM, it can not access cartridge software in other RAM banks.  Checking all banks could make it easier for you to develop cartridge software.  Use RAM bank 0 or 1 during development and then modify it to work in either external or internal ROM later on (or make it adjust automatically according to which bank it found itself in).
  6.  
  7. PLEASE NOTE:  If THE SERVANT is mounted externally, this command will access the internal ROM if present.  Mounted externally THE SERVANT will suppress any internal ROM during startup.  Also please note that the computer always will be set to 1Mhz mode when accessing the other ROM.  This will ensure compatibility with the QBB which can't operate in 2Mhz mode.
  8.  
  9. A tip:  If you set the ROM I.D. (byte 6, either $8006 or $c006) in the QBB or ROM to zero, it will be dormant until it is called from THE SERVANT main menu.  That byte would normally hold a value of 2 or greater.  You could use this trick with THE SERVANT too if desired.
  10.  
  11.